WHERE, GROUP BY, ORDER BY, এবং HAVING Clauses গাইড ও নোট

Big Data and Analytics - হাইভ (Hive) - HiveQL Basics
299

HiveQL (Hive Query Language) SQL-এর মতো একটি কুয়েরি ভাষা যা Hadoop-এর বিশাল ডেটাসেটগুলির ওপর কাজ করার জন্য ডিজাইন করা হয়েছে। HiveQL বিভিন্ন কুয়েরি অপারেটর, ক্লজ এবং ফিচার প্রদান করে যা ব্যবহারকারীদের ডেটা কুয়েরি এবং বিশ্লেষণ করতে সাহায্য করে। এই প্রবন্ধে আমরা HiveQL-এর চারটি গুরুত্বপূর্ণ ক্লজ—WHERE, GROUP BY, ORDER BY, এবং HAVING—এর ব্যবহার শিখব।

WHERE ক্লজ


WHERE ক্লজটি ডেটা ফিল্টার করার জন্য ব্যবহার করা হয়। এটি কুয়েরির মধ্যে একটি শর্ত নির্ধারণ করে, যা পূর্ণ হলে কেবল সেই রেকর্ডগুলোকে নির্বাচন করা হয়।

ব্যবহার: WHERE ক্লজটি সাধারণত SELECT কুয়েরির সাথে ব্যবহার করা হয়, যেখানে ডেটা কিছু নির্দিষ্ট শর্তের ভিত্তিতে ফিল্টার করা হয়।

উদাহরণ:

SELECT name, age
FROM employees
WHERE age > 30;

এখানে, employees টেবিল থেকে শুধুমাত্র সেই রেকর্ডগুলো নির্বাচন করা হবে যেখানে age 30 এর বেশি।

WHERE ক্লজ এর কিছু বৈশিষ্ট্য:

  • তুলনা অপারেটর: =, >, <, >=, <=, <>
  • লজিক্যাল অপারেটর: AND, OR, NOT
  • LIKE অপারেটর: ডেটা প্যাটার্নের সাথে মেলে এমন রেকর্ড নির্বাচন করতে।

GROUP BY ক্লজ


GROUP BY ক্লজটি ব্যবহার করা হয় ডেটাকে গ্রুপে বিভক্ত করার জন্য, যাতে একই ধরনের ডেটা একটি গ্রুপে আসে। এটি সাধারণত এগ্রিগেট ফাংশন (যেমন COUNT(), SUM(), AVG()) এর সাথে ব্যবহৃত হয়, যাতে প্রতিটি গ্রুপের জন্য কোন নির্দিষ্ট গণনা করা যায়।

ব্যবহার: GROUP BY ব্যবহার করে, এক বা একাধিক কলামের ভিত্তিতে ডেটা গ্রুপ করা হয়।

উদাহরণ:

SELECT department, COUNT(*) AS num_employees
FROM employees
GROUP BY department;

এখানে, employees টেবিলের মধ্যে প্রতিটি department অনুযায়ী কতজন কর্মী আছেন তা গণনা করা হবে।

GROUP BY এর কিছু বৈশিষ্ট্য:

  • এটি শুধুমাত্র একই গ্রুপের রেকর্ডগুলো একসাথে গণনা করে।
  • HAVING ক্লজ সাধারণত GROUP BY এর পরে ব্যবহৃত হয়, যখন গ্রুপের উপর শর্ত আরোপ করতে হয়।

ORDER BY ক্লজ


ORDER BY ক্লজটি ডেটাকে একটি নির্দিষ্ট ক্রমে সাজানোর জন্য ব্যবহৃত হয়। এটি ASC (অ্যালফাবেটিক্যাল বা সংখ্যা অনুসারে বৃদ্ধি) বা DESC (অ্যালফাবেটিক্যাল বা সংখ্যা অনুসারে হ্রাস) নির্দেশ করে।

ব্যবহার: ORDER BY ক্লজটি সাধারণত SELECT কুয়েরি শেষে ব্যবহার করা হয়, যাতে ফলাফলগুলো সঠিকভাবে সাজানো যায়।

উদাহরণ:

SELECT name, age
FROM employees
ORDER BY age DESC;

এখানে, employees টেবিলের age কলাম অনুযায়ী ফলাফলটি অবনমন (DESC) ক্রমে সাজানো হবে।

ORDER BY এর কিছু বৈশিষ্ট্য:

  • ASC (ডিফল্ট): বৃদ্ধি ক্রমে সাজানো।
  • DESC: অবনমন ক্রমে সাজানো।

HAVING ক্লজ


HAVING ক্লজটি GROUP BY ক্লজের পরে ব্যবহৃত হয় এবং এটি গ্রুপের ওপর শর্ত আরোপ করতে সাহায্য করে। এটি একইভাবে WHERE ক্লজের মতো কাজ করে, তবে WHERE ক্লজ শুধুমাত্র রেকর্ড স্তরের শর্ত আরোপ করতে পারে, আর HAVING ক্লজ গ্রুপ স্তরের শর্ত আরোপ করে।

ব্যবহার: HAVING ক্লজটি সাধারণত GROUP BY এর সাথে ব্যবহৃত হয়, যাতে গ্রুপের উপর কোনো শর্ত প্রয়োগ করা যায়।

উদাহরণ:

SELECT department, COUNT(*) AS num_employees
FROM employees
GROUP BY department
HAVING COUNT(*) > 5;

এখানে, employees টেবিলের মধ্যে শুধুমাত্র সেই department গ্রুপগুলো নির্বাচন করা হবে যেখানে কর্মীর সংখ্যা ৫ এর বেশি।

HAVING এর কিছু বৈশিষ্ট্য:

  • HAVING ক্লজ GROUP BY এর পরে ব্যবহৃত হয়।
  • এটি গ্রুপ স্তরের শর্ত আরোপ করতে ব্যবহৃত হয়, যেখানে WHERE সাধারণত রেকর্ড স্তরের শর্ত আরোপ করে।

উপসংহার


WHERE, GROUP BY, ORDER BY, এবং HAVING ক্লজগুলি HiveQL-এ ডেটা ফিল্টার, গ্রুপ, সাজানো এবং শর্ত আরোপ করার জন্য অত্যন্ত গুরুত্বপূর্ণ। এগুলি একসাথে ব্যবহার করে আপনি বিশাল ডেটাসেটের ওপর আরও জটিল এবং কার্যকরী কুয়েরি চালাতে সক্ষম হবেন। Hive-এর সাহায্যে, আপনি Hadoop প্ল্যাটফর্মের বিশাল ক্ষমতাকে কাজে লাগিয়ে বড় ডেটাসেটগুলোর ওপর দ্রুত বিশ্লেষণ এবং কুয়েরি করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...